
"""
    使用进程池
        1、创建一个函数，模拟文件拷贝
        2、创建一个进程池，大小为3
        3、使用进程池同步方式拷贝文件
        4、使用进程池异步方式拷贝文件
"""
import multiprocessing
import time


def work1():
    print("模拟拷贝文件...,进程为%s" % str(multiprocessing.current_process()))
    time.sleep(0.5)


if __name__ == '__main__':

    pool = multiprocessing.Pool(3)

    for i in range(10):
        # 使用同步方式  apply(函数名, (传递给函数的参数1，参数2，...))
        # pool.apply(work1)

        """
        使用异步方式 需注意
            1、pool.close() 表示不再接受新的任务
            2、pool.join() 主进程不在等待进程池执行结束后再退出，需要进程池join(),让主进程等待进程池执行结束后再退出
        """
        pool.apply_async(work1)

    pool.close()
    pool.join()
